The use of data communication for delivery of various content, including digital data, documents, media (e.g., images, sound, etc.), multimedia, (e.g., images and sound), etc., has become nearly ubiquitous in recent years. One common architecture for providing such data communication includes a first data communication device and a second data communication device which are configured to communicate with each other over a network providing one or more data communication channel. Such data communication channels can be hard-wired or wireless. Examples of hard-wired data communication channels include broadband cable and digital subscriber line (DSL). Examples of wireless communications channels include Edge, 3G, 4G, WiMAX and Wi-Fi.
In one example of the use of data communication, a mobile communication device, such as a smart phone, a personal digital assistant (PDA), a tablet device, a portable personal computer (PC), can communicate with a centralized system, such as a web server, application server, database server, etc., providing data to and/or accepting from the mobile communication device via a network. The network may include a combination of communication channels utilized in providing data communication between the mobile communication device and the centralized system. For example, the mobile communication device may communicate with a broadband cellular station of the network using an Edge, 3G or 4G communication channel. The cellular station may then pass the communication along to a network router over a fiber-optic or T-carrier line. The network router may then pass the communication along to the centralized system over a broadband cable or DSL connection. That is, one or more different communication channels of the network may be utilized to provide the network link between the mobile communication device and the centralized system.
A number of communication techniques may be utilized in providing such data communications. For example, data communication may be provided using a uni-cast technique, whereby the data is transmitted as a uni-cast data stream by a first communication device (e.g., the aforementioned centralized system) to a particular second communication device (e.g., the aforementioned mobile communication device). Alternatively, data communication may be provided using a multi-cast technique, whereby the data is transmitted as a multi-cast data stream by a first communication device (e.g., the aforementioned centralized system) to a plurality of selected communication devices (e.g., specifically identified first and second mobile communication devices). Data communication may likewise be provided using a broadcast technique, whereby the data is transmitted as a broadcast data stream by a first communication device (e.g., the aforementioned centralized system) to a plurality of receiving communication devices (e.g., first and second mobile communication devices desirous of receiving the data, although not specifically identified for providing data to by the centralized system).
A communication technique may be utilized for delivering large amounts of data communication content (e.g., media files) to one or more mobile communication device via uni-directional network links and a uni-cast communication technique via bi-directional network links with the one or more mobile communication device to facilitate delivery and utilization of the data communication content. Such communication techniques deliver relatively large amounts of data communication content to data communication devices, such as a large number of mobile communication devices, in an efficient manner (e.g., low communication overhead, reduced overall use of the spectrum, efficient use of transmit power, reduced content delivery delay, optimized data redundancy, etc.). It should be noted that data communication content is transmitted to user devices without the capability of feedback from the user devices through uni-directional network links. It should also be noted that packet losses are essentially inevitable in broadcasting, particularly in wireless broadcasting. Such packet losses are represented by the failed receipt of data packets by the user devices.
According to an existing packet loss recovery technique, a linear combination of the data packets may be transmitted to a user device to enable the user device to recover lost packets. According to another existing technique, additional redundancy with the data packets may be transmitted to a user device. It will be appreciated that the existing packet loss recovery techniques consume significant amount of resources (e.g., bandwith, transmit power). Furthermore, a newly arriving user device typically cannot receive data communication content such as, for example, media files, which has been previously broadcast. For example, a new user device entering a network (i.e., coverage area of a network) may desire to receive a particular media file which has been previously broadcast by the centralized system. However, the new user device typically will not be able to receive the media file unless the media file is re-broadcast.